Systems and methods for deposit predictions based upon template matching

ABSTRACT

Systems and methods may be provided for deposit prediction based upon template matching. The system and methods may include receiving deposit information associated with a plurality of deposits for a deposit account of a financial institution customer, where the deposit information includes a plurality of deposit amounts, and a respective date associated with each of the plurality deposit amounts; identifying, based upon the received deposit information, one or more deposit patterns by applying one or more template patterns to the deposit information and determining that one or more of the applied template patterns match at least a portion of the deposit information; and generating an indication of the identified one or more deposit patterns.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. Application No.12/408,521, filed Mar. 20, 2009.

FIELD OF THE INVENTION

Aspects of the invention relate generally to deposit predictions, andmore particularly to systems and methods for deposit predictions basedupon historical deposit information.

BACKGROUND OF THE INVENTION

Deposits into Demand Deposit Accounts or other bank accounts can includeone or both of electronic deposits or non-electronic deposits.Electronic deposits are typically ACH credits processed through aclearing house network. Non-electronic deposits include ATM orteller-initiated deposits in the form of paper instruments such aschecks or currencies such as cash.

One or more of financial institutions, financial services companies, andother service providers can provide or initiate one or more servicesbased upon knowledge of a predicted deposit amount and/or date.Accordingly, there is a need in the industry for deposit predictionbased upon available deposit information.

SUMMARY OF THE INVENTION

Embodiments of the invention may provide for deposit prediction basedupon historical deposit information. According to an example embodimentof the invention, there may be a method. The method may includereceiving deposit information associated with a plurality of depositsfor a deposit account of a financial institution customer, where thedeposit information includes a plurality of deposit amounts, and arespective date associated with each of the plurality deposit amounts;identifying, based upon the received deposit information, one or moredeposit patterns by applying one or more template patterns to thedeposit information and determining that one or more of the appliedtemplate patterns match at least a portion of the deposit information;and generating an indication of the identified one or more depositpatterns.

According to another example embodiment of the invention, there may be asystem. The system may include a system. The system may include a memorythat stores computer-executable instructions, and a processor configuredto access the memory. The processor may be further configured to executethe computer-executable instructions to: receive deposit informationassociated with a plurality of deposits for a deposit account of afinancial institution customer, where the deposit information includes aplurality of deposit amounts, and a respective date associated with eachof the plurality deposit amounts; identify, based upon the receiveddeposit information, one or more deposit patterns by applying one ormore template patterns to the deposit information and determining thatone or more of the applied template patterns match at least a portion ofthe deposit information; and generate an indication of the identifiedone or more deposit patterns.

According to yet another example embodiment of the invention, there maybe another system. The system may include means for receiving depositinformation associated with a plurality of deposits for a depositaccount of a financial institution customer, where the depositinformation includes a plurality of deposit amounts, and a respectivedate associated with each of the plurality deposit amounts; means foridentifying, based upon the received deposit information, one or moredeposit patterns by applying one or more template patterns to thedeposit information and determining that one or more of the appliedtemplate patterns match at least a portion of the deposit information;and means for generating an indication of the identified one or moredeposit patterns.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1A illustrates an overview of an example system for depositprediction, according to an example embodiment of the invention.

FIG. 1B illustrates an example service provider computer that may beimplemented by a plurality of computers, according to an exampleembodiment of the invention.

FIG. 2 illustrates a block diagram of an example deposit predictionprocess based upon template matching, according to an example embodimentof the invention.

FIG. 3 illustrates a flow diagram of an example deposit predictionprocess based upon template matching, according to an example embodimentof the invention.

FIGS. 4A and 4B illustrate example template patterns, according to anexample embodiment of the invention.

FIG. 5 illustrates an example process for identifying one or moredeposit patterns, according to an example embodiment of the invention.

FIG. 6A illustrates example representations of electronic depositinformation, according to an example embodiment of the invention.

FIG. 6B illustrates example representations of count reductions asapplied to the electronic deposit information of FIG. 6A, according toan example embodiment of the invention.

FIG. 7 illustrates a block diagram of an example deposit predictionprocess based upon Monte Carlo analysis, according to an exampleembodiment of the invention.

FIG. 8 illustrates a flow diagram of an example deposit predictionprocess based upon Monte Carlo analysis, according to an exampleembodiment of the invention.

FIG. 9 illustrates a flow diagram for an example Monte Carlo analysis,according to an example embodiment of the invention.

FIG. 10 illustrates a graphical representation illustrating a pluralityof distributions of sums deposited during the target date rangecorresponding to a respective plurality of Monte Carlo iterations,according to an example embodiment of the invention.

FIG. 11 illustrates a graphical representation of a plurality ofdeposited sums predicted by Monte Carlo analysis according to an exampleembodiment of the invention.

DETAILED DESCRIPTION

The invention will now be described more fully hereinafter withreference to the accompanying drawings, in which example embodiments ofthe invention are shown. This invention may, however, be embodied inmany different forms and should not be construed as limited to theexample embodiments set forth herein; rather, these example embodimentsare provided so that this disclosure will be thorough and complete, andwill fully convey the scope of the invention to those of ordinary skillin the art. Like numbers refer to like elements throughout.

Embodiments of the invention may provide for deposit prediction basedupon available deposit information (e.g., deposit information associatedwith a Demand Deposit Account (DDA) or other bank account). Thepredicted next deposit date(s) and amount(s) may be utilized by one ormore financial institutions, financial services companies, or otherservice providers to provide, initiate, direct, or offer one or moreservices, as described herein.

I. System Overview

FIG. 1A illustrates an example system 100 for deposit prediction,according to an example embodiment of the invention. As shown in FIG.1A, a financial institution computer 110, service provider computer 120,and financial services computer 130 may be in communication with eachother via a network 140, which, as described below, can include one ormore separate or shared private and/or public networks, including theInternet or a publicly switched telephone network. Each of thesecomponents—the financial institution computer 110, the service providercomputer 120, the financial services computer 130, and the network 140will now be discussed in further detail.

First, the financial institution computer 110 may be anyprocessor-driven device, such as, but not limited to, a server computer,a mainframe computer, one or more networked computers, a desktopcomputer, a personal computer, a laptop computer, a mobile computer, orany other processor-based device. In addition to having a processor 116,the financial institution computer 110 may further include a memory 112,input/output (“I/O”) interface(s) 118, and network interface(s) 117. Thememory 112 may be any computer-readable medium, coupled to the processor116, such as RAM, ROM, and/or a removable storage device for storingdata files 115 and a database management system (“DBMS”) to facilitatemanagement of data files 115 and other data stored in the memory 112and/or stored in a separate database 119. The memory 112 may also storevarious program modules, such as an operating system (“OS”) 114 and adeposit information module 113. The OS 114 may be, but is not limitedto, Microsoft Windows®, Apple OSX™, Unix, a mainframe computer operatingsystem (e.g., IBM z/OS, MVS, OS/390 earlier, etc.), or a speciallydesigned operating system. The deposit information module 113 maycomprise computer-executable program instructions or software, includinga dedicated program, for managing, storing, or extracting depositaccount information of one or more financial institution customers.

Still referring to the financial institution computer 110, the I/Ointerface(s) 118 may facilitate communication between the processor 116and various I/O devices, such as a keyboard, mouse, printer, microphone,speaker, monitor, bar code readers/scanners, RFID readers, and the like.The network interface(s) 117 may take any of a number of forms, such as,but not limited to, a network interface card, a modem, a wirelessnetwork card, a cellular network card, and the like. Indeed, thefinancial institution computer 110 can receive deposit information vianetwork interface(s) 117 and additionally transmit deposit information,perhaps to service provider computer 120, via network interface 117. Itwill be appreciated that financial institution computer 110 may beimplemented on a particular machine, which may include a computer thatis designed, customized, configured, or programmed to perform at leastone or more functions of the deposit information module 113, accordingto an example embodiment of the invention.

Second, the service provider computer 120 may be any processor-drivendevice, such as, but not limited to, a server computer, a mainframecomputer, one or more networked computers, a desktop computer, apersonal computer, a laptop computer, a mobile computer, or any otherprocessor-based device. In addition to having a processor 126, theservice provider computer 120 may further include a memory 122,input/output (“I/O”) interface(s) 128, and network interface(s) 127. Thememory 122 may be any computer-readable medium, coupled to the processor126, such as RAM, ROM, and/or a removable storage device for storingdata files 125 and a database management system (“DBMS”) to facilitatemanagement of data files 125 and other data stored in the memory 122and/or stored in a separate database 129. The memory 122 may also storevarious program modules, such as an operating system (“OS”) 124 and adeposit prediction module 123. The OS 124 may be, but is not limited to,Microsoft Windows®, Apple OSX™, Unix, a mainframe computer operatingsystem (e.g., IBM z/OS, MVS, OS/390 earlier, etc.), or a speciallydesigned operating system. The deposit prediction module 123 maycomprise computer-executable program instructions or software, includinga dedicated program, for determining, based upon an analysis of depositinformation, a date and/or amount of one or more next deposits.

Still referring to the service provider computer 120, the I/Ointerface(s) 128 may facilitate communication between the processor 126and various I/O devices, such as a keyboard, mouse, printer, microphone,speaker, monitor, bar code readers/scanners, RFID readers, and the like.The network interface(s) 127 may take any of a number of forms, such as,but not limited to, a network interface card, a modem, a wirelessnetwork card, a cellular network card, and the like. Indeed, the serviceprovider computer 120 can receive deposit information from financialinstitution computer 110 via network interface(s) 127, and additionallytransmit deposit prediction information, perhaps to financial servicescomputer 130, via network interface(s) 127. It will be appreciated thatservice provider computer 120 may be implemented on a particularmachine, which may include a computer that is designed, customized,configured, or programmed to perform at least one or more functions ofthe deposit prediction module 123, according to an example embodiment ofthe invention.

Third, the financial services computer 130 may be any processor-drivendevice, such as, but not limited to, a server computer, a mainframecomputer, one or more networked computers, a desktop computer, apersonal computer, a laptop computer, a mobile computer, or any otherprocessor-based device. In addition to having a processor 136, thefinancial services computer 130 may further include a memory 132,input/output (“I/O”) interface(s) 138, and network interface(s) 137. Thememory 132 may be any computer-readable medium, coupled to the processor136, such as RAM, ROM, and/or a removable storage device for storingdata files 135 and a database management system (“DBMS”) to facilitatemanagement of data files 135 and other data stored in the memory 132and/or stored in a separate database 139. The memory 132 may also storevarious program modules, such as an operating system (“OS”) 134 and afinancial application module 133. The OS 134 may be, but is not limitedto, Microsoft Windows®, Apple OSX™, Unix, a mainframe computer operatingsystem (e.g., IBM z/OS, MVS, OS/390 earlier, etc.), or a speciallydesigned operating system. The financial application module 133 maycomprise computer-executable program instructions or software, includinga dedicated program, for determining, based upon a date and/or amount ofone or more next deposits, whether or the extent to which to provide,initiate, or offer one or more services.

Still referring to the financial services computer 130, the I/Ointerface(s) 138 may facilitate communication between the processor 136and various I/O devices, such as a keyboard, mouse, printer, microphone,speaker, monitor, bar code readers/scanners, RFID readers, and the like.The network interface(s) 137 may take any of a number of forms, such as,but not limited to, a network interface card, a modem, a wirelessnetwork card, a cellular network card, and the like. Indeed, thefinancial services computer 130 can receive deposit predictioninformation from the service provider computer 120 via networkinterface(s) 137. It will be appreciated that financial servicescomputer 130 may be implemented on a particular machine, which mayinclude a computer that is designed, customized, configured, orprogrammed to perform at least one or more functions of the financialapplication module 133, according to an example embodiment of theinvention.

The network 140 may include any telecommunication and/or data network,whether public, private, or a combination thereof, including a localarea network, a wide area network, an intranet, an internet, theInternet, intermediate hand-held data transfer devices, a publiclyswitched telephone network (“PSTN”), a cellular network, and/or anycombination thereof and may be wired and/or wireless. The network 140may also allow for real-time, off-line, and/or batch transactions to betransmitted between or among the financial institution computer 110, theservice provider computer 120, and/or the financial services computer130. Due to network connectivity, various methodologies as describedherein may be practiced in the context of distributed computingenvironments. It will also be appreciated that the network 140 mayinclude a plurality of networks, each with devices such as gateways androuters for providing connectivity between or among networks 140.Instead of, or in addition to, a network 140, dedicated communicationlinks may be used to connect the various devices in accordance with anexample embodiment invention.

Generally, each of the memories and data storage devices, such as thememories 112, 122, 132 and the databases 119, 129, 139, and/or any othermemory and data storage device, can store data and information forsubsequent retrieval. In this manner, the system 100 can store variousreceived or collected information in memory or a database associatedwith one or more financial institution computers 110, service providercomputers 120, and/or financial services computers 130. The memories anddatabases can be in communication with each other and/or otherdatabases, such as a centralized database, or other types of datastorage devices. When needed, data or information stored in a memory ordatabase may be transmitted to a centralized database capable ofreceiving data, information, or data records from more than one databaseor other data storage devices. In other embodiments, the databases showncan be integrated or distributed into any number of databases or otherdata storage devices. In an example embodiment, for security, thefinancial institution computer 110, service provider computer 120, andfinancial services computer 130 may have a dedicated connection torespective databases 119, 129, 139, as shown; though, in otherembodiments, the financial institution computer 110, service providercomputer 120, and financial services computer 130 or any other entitymay communicate with the databases 119, 129, 139, or another databasevia a network 140.

Suitable processors, such as the processors 116, 126, 136 of thefinancial institution computer 110, service provider computer 120,and/or financial services computer 130, respectively, may comprise amicroprocessor, an ASIC, and/or state machine. Example processors can bethose provided by Intel Corporation (Santa Clara, Calif.), AMDCorporation (Sunnyvale, Calif.), and Motorola Corporation (Schaumburg,Ill.). Such processors comprise, or may be in communication with media,for example computer-readable media, which stores instructions that,when executed by the processor, cause the processor to perform theelements described herein. Embodiments of computer-readable mediainclude, but are not limited to, an electronic, optical, magnetic, orother storage or transmission device capable of providing a processorwith computer-readable instructions. Other examples of suitable mediainclude, but are not limited to, a floppy disk, pen drive, CD-ROM, DVD,magnetic disk, memory chip, ROM, RAM, a configured processor, alloptical media, all magnetic tape or other magnetic media, or any othermedium from which a computer processor can read instructions. Also,various other forms of computer-readable media may transmit or carryinstructions to a computer, including a router, gateway, private orpublic network, or other transmission device or channel, both wired andwireless. The instructions may comprise code from anycomputer-programming language, including, but not limited to, assembly,C, C++, C#, Visual Basic, Java, Python, Perl, JavaScript, GPSS, LISP,SAS.

The system 100 shown in and described with respect to FIG. 1A isprovided by way of example only. Numerous other operating environments,system architectures, and device configurations are possible. Othersystem embodiments can include fewer or greater numbers of componentsand may incorporate some or all of the functionality described withrespect to the system components shown in FIG. 1A. As an example, theremay be an additional computer operable with the system 100 of FIG. 1A,where the computer may provide software updates, including performanceenhancement updates, to the deposit prediction module 123. According toanother example, the service provider computer 120 may be implemented bya plurality of computers, including a first service provider computer120 a and a second service provider computer 120 b, as illustrated byFIG. 1B. Indeed, as shown in FIG. 1B, there may be a first depositprediction module 123 a and a second deposit prediction module 123 b.For redundant or parallel processing, the first deposit predictionmodule 123 a may be substantially the same as the second depositprediction module 123 b. For distributed processing, the functionalitydeposit prediction module 123 for FIG. 1A may be provided or dividedaccording to the first deposit prediction module 123 a and the seconddeposit prediction module 123 b. It will be appreciated that theredundant or parallel processing, and/or the distributed processing,illustrated by FIG. 1B can likewise be similarly applied to thefinancial institution computer 110 and the financial services computer130. Similar to service provider computer 120 of FIG. 1A, the first andsecond service computers 120 a, 120 b of FIG. 1B can each include aprocessor 126 a, 126 b, memory 122 a, 122 b storing an OS 124 a, 124 b,data files 125 a, 125 b, an input/output (“I/O”) interface(s) 128 a, 128b, and a network interface(s) 127 a, 127 b.

Moreover, it will be appreciated that while FIG. 1A illustrates thefinancial institution computer 110, the service provider computer 120,and the financial services computer 130 as distinct computers, thefunctionality of two or more of those computers may be combined. Forexample, all of the deposit information module 113, the depositprediction module 123, and the financial application module 133 may beprovided by a single computer. According to another example, the depositinformation module 113 and the financial application module 133 may beprovided by a first computer while the deposit prediction module 123 maybe provided by a second computer. According to yet another example, thedeposit information module 113 and the deposit prediction module 123 maybe provided by a first computer while the financial application module133 may be provided by a second computer. Many variations are availablewithout departing from example embodiments of the invention.

II. Operational Overview

Embodiments of the invention may provide for deposit prediction basedupon available deposit information. The deposit information may includeelectronic deposit information as well as non-electronic depositinformation. Examples of electronic deposit information may include, butare not limited to, Automated Clearing House (ACH) deposits. Examples ofnon-electronic deposits may include, but are not limited to, deposits(e.g., paper deposits) made at a teller, ATM, lockbox, or after hourdeposit facility, where deposit amounts may include an aggregate of oneor more checks, currencies, or coins.

As will be described herein, there may be at least two types of depositprediction methodologies utilized in accordance with example embodimentsof the invention—(1) template matching or (2) Monte Carlo analysis.Template matching may be utilized to provide, but is not limited to,deposit prediction based upon at least electronic deposit informationwhile the Monte Carlo analysis may be utilized to provide, but is alsonot limited to, deposit prediction based upon at least non-electronicdeposit information. However, it will be appreciated that in otherexample embodiments, the template matching may also be applied tonon-electronic deposit information as well as a combination ofelectronic and non-electronic deposit information as well. Likewise, itwill be appreciated that Monte Carlo analysis may likewise be applied toelectronic deposit information as well as a combination of electronicand non-electronic deposit information without departing from exampleembodiments of the invention. Moreover, it will be appreciated thatother types of analysis methods, including regressions and geneticalgorithms, may likewise be utilized instead of or in combination withthe template matching or Monte Carlo Analysis described herein.

A. Template Matching

FIG. 2 illustrates a block diagram of an example deposit predictionprocess based upon template matching, according to an example embodimentof the invention. The operation of the block diagram of FIG. 2 will bediscussed in conjunction with the flow diagram of FIG. 3.

Turning now to block 302, a deposit information module 113 may access orreceive deposit information of at least one customer, including demanddeposit account (DDA) information for the at least one customer.According to an example embodiment of the invention, the depositinformation may be accessed or received from database 119 or memory 112.In block 304, the deposit information module 113 may filter or otherwiseprocess the received deposit information to obtain electronic depositinformation of the at least one customer. Likewise, the depositinformation module 113 may filter the deposit information to obtainelectronic deposit information that falls within one or more dateparameters—for example, based upon one or more date ranges (e.g., withinthe last 3 months, 6 months, 12 months, or between 2 dates) or statementperiods.

In block 306, the deposit information module 113 associated withfinancial institution computer 110 or another computer may deliver theelectronic deposit information 202 for one or more accounts of at leastone customer to the deposit prediction module 123 of service providercomputer 120 or another computer. Where the deposit information module113 and deposit prediction module deposit prediction module 123 areprovided for in the same computer, the delivery of the electronicdeposit information 202 may be an internal delivery. Otherwise, thedelivery of the electronic deposit information 202 may be delivered tothe deposit prediction module 123 via a network such as network 140. Inan example embodiment of the invention, the deposit information 202 maybe provided in a file format (e.g., CSV file, tab separated file, etc.),a database format, or any other format.

Table I illustrates example deposit information 202 for an account of anexample customer that may be delivered from the deposit informationmodule 113 to the deposit prediction module 123. As shown in Table I,the deposit information 202 may include a Date field, an Amount field,and a Count field. Where two or more electronic deposits are receivedfor an account on the same Date, the Count field may indicate the numberof electronic deposits that have been aggregated in the Amount. Forexample, in Table I, the example electronic deposit on 08-29-YYYYincludes 2 counts covering two separate deposits on the same day thatamount to $1600.00.

TABLE I Date Amount Count 08-01-YYYY $500.00 1 08-08-YYYY $600.00 108-15-YYYY $700.00 1 08-22-YYYY $600.00 1 08-29-YYYY $1600.00  209-05-YYYY $600.00 1 09-12-YYYY $700.00 1 09-19-YYYY $500.00 109-26-YYYY $1500.00  2

According to an example embodiment of the invention, the depositinformation 202 may exclude the payor name or other identificationassociated with the payor for each deposit in the deposit information202. As an example, the deposit information 202 may exclude the payorname in order to protect the privacy of its customers or to otherwisesimplify the amount or type of deposit information delivered to thedeposit prediction module 123. However, it will be appreciated that inother example embodiments of the invention, the payor name oridentification may be available as well.

In block 308, the deposit prediction module 123 may utilize templatematching to identify one or more deposit patterns in predicting a nextdeposit date and/or amount, according to an example embodiment of theinvention. In general, template matching may involve determining whichtemplate pattern, or combination of template patterns, bestcharacterizes (e.g., a best fit) or explains the received depositinformation 202. According to an example embodiment of the invention,each template pattern may define a respective time or date intervalbetween expected deposits.

FIGS. 4A and 4B illustrate example template patterns that may beutilized by the deposit prediction module 123, according to an exampleembodiment of the invention. As shown in FIGS. 4A and 4B, the templatepatterns may include weekly, biweekly (odd or even), semi-monthly,monthly, or quarterly template patterns. It will be appreciated thateach of the template patterns shown in FIGS. 4A and 4B are illustrativeof one of a family of template patterns. For example, there may be afamily of weekly template patterns, each starting on a respective day ofthe week. It will be appreciated that other template patterns, includingsemi-annual and annual template patterns, and variations thereof mayalso be available without departing from example embodiments of theinvention.

Still referring to block 308, the deposit prediction module 123 mayperform template matching in accordance with one or more triggers 220and/or one or more parameters 222. The one or more triggers 220 may beoperative to determine when the deposit prediction module 123 initiates,directs, or performs the template matching. The one or more parameters222 may determine how the template matching operates. The one or moretriggers 220 and parameters 222 may be set or specified by a serviceprovider, financial institution, financial services company, or anothersimilar entity.

The triggers 220 may determine when or a frequency that the depositprediction module 123 performs the template matching. For example, atrigger 220 may be based upon an event such as the receipt of thedeposit information 202 from the deposit information module 113 of thefinancial institution computer 110. Another trigger 220 may be aspecific request received from a financial institution, serviceprovider, financial service company, or other similar entity. Yetanother trigger 220 may specify that the deposit prediction module 123performs template matching on a periodic basis, perhaps nightly onweekday nights, according to an example embodiment of the invention.Other variations of triggers 220 are available in accordance withexample embodiments of the invention.

The parameters 222 may determine how template matching is performed bythe deposit prediction module 123. Examples of the parameters 222 mayinclude:

-   -   Maximum_Tolerance_Days: A maximum allowed distance or interval        (e.g., calendar days or business days) between a scheduled        deposit date (or adjusted deposit date) in a template pattern        and an actual deposit date. Each type of template pattern (e.g.        weekly, biweekly, etc.) can have its own value of        Maximum_Tolerance_Days.    -   Minimum Number_Deposit_Days_Covered: A minimum number of        scheduled deposit dates (or adjusted deposit dates) that must        correspond to an actual deposit date for the set of those dates        to be considered as matching a template pattern. Each type of        template pattern (e.g. weekly, biweekly, etc.) can have its own        value of Minimum_Number_Deposit_Days_Covered.    -   Minimum_Percent_Deposit_Days_Covered: The minimum percent of        scheduled deposit dates (or adjusted deposit dates) that must        cover an actual deposit date for the set of those dates to be        considered as matching a template pattern. Each type of template        pattern (e.g. weekly, biweekly, etc.) can have its own value of        Minimum_Percent_Deposit_Days_Covered.    -   Allow_Missed_Last_Deposit?: Whether or not a pattern can end        with a missed deposit and still be regarded as matching a        template pattern.    -   Expandable_Tolerance_Pattern_Types: List of those pattern types        where Maximum_Tolerance_Days may be increased by one in a second        run of the pattern detection algorithm.    -   Interruption_Types: One of (Not_Interrupted,        Properly_Interrupted, Badly_Interrupted). Based on a pattern's        interruption type, an attempt may be made to split it into two        or more template patterns of other types.    -   RMS_Split_Multiplier: RMS (Root Mean Square) error provides a        rough estimate for the goodness of fit between a template        pattern and the underlying raw data it is presumed to cover.        When the coverage of a set of more coarse-grained patterns        improves the coverage of a single more fine-grained pattern by        RMS_Split_Multiplier, a split is attempted.    -   Minimum_History_Length: The minimal number of deposits the        deposit information of an account must have on a given channel        to be considered for template matching. (Channels={Electronic        (e.g., ACH), Non-electronic (e.g., paper)}).

Once the deposit prediction module 123 has identified (or notidentified) one or more deposit patterns in block 304, then processingmay proceed to block 310. In block 310, the deposit prediction module123 may generate deposit prediction information 204. The generateddeposit prediction information 204 may identify or otherwise indicatewhich template pattern(s) were matched. The deposit predictioninformation 204 may also include information regarding one or more datesand/or amounts regarding predicted future deposits. Alternatively, if nomatching template patterns were identified in block 306, then thedeposit prediction information 204 may indicate that no matchingtemplate patterns were identified based upon the deposit information 202of the customer.

In block 312, the generated deposit prediction information 204 may bedelivered from the deposit prediction module 123 of the service providercomputer 120 or another computer to the financial application module 133of the financial services computer 130 or another computer. Where thedeposit prediction module 123 and the financial application module 133are provided for in the same computer, the delivery of the depositprediction information 204 may be an internal delivery. Otherwise, thedelivery of the deposit prediction information 204 may be delivered tothe financial application module 133 via a network such as network 140.The financial application module 133 may set/determine parameters for orotherwise provide, initiate, direct, or offer one or more services basedupon the deposit prediction information 204. According to an exampleembodiment of the invention, the services may include or be associatedwith one or more of:

-   -   Determining when to re-present returned deposit item (e.g.,        checks) to a financial institution.    -   Determining capacity to repay;    -   Setting an account overdraft limit;    -   Determining loan or line of credit eligibility;    -   Determining loan or line of credit amount;    -   Setting customized disclosure terms for loans or lines of credit        (e.g., payment due dates for loans or lines of credit);    -   Determining when to step down or shut down loans or lines of        credit;    -   Optimizing collection effort timing: When best, relative to an        upcoming or just received deposit, to contact a customer and        pursue various types of collection efforts;    -   Determining likelihood of charge-off of a loan or line of        credit;    -   A likelihood of chargeoff may be determined based upon whether        there are one or more matching template patterns,    -   A likelihood of chargeoff may be determined based upon the        length of the periodicity patterns of the one or more template        patterns, or    -   A likelihood of chargeoff may be determined base upon a template        pattern interruption;

-   Setting loan repayment terms on past-due accounts.

Many variations of FIG. 3 are available in accordance with exampleembodiments of the invention. According to one example variation, block308 may also identify an interruption of an expected deposit. Forexample, a deposit prediction module may have analyzed prior depositinformation and previously predicted one or more dates and amounts forone or more future deposits. Accordingly, one or more deposits may beexpected on the predicted date(s). The deposit prediction module canthen determine, based upon updated deposit information, whether anyactual deposits corresponding to the expected deposits were actuallyreceived. If an actual deposit was not received by the expected date, orif the amount of the actual deposit differs (e.g., differs by a certainamount) from the expected amount, the generated deposit predictioninformation may indicate an interruption in a deposit pattern. Theinterruption in the deposit pattern may be utilized to determine whetherto provide a loan, whether to allow an overdraft, or how to handlecollections of an overdue payment. Other application of this depositprediction information may be available in accordance with exampleembodiments of the invention.

An example process for identifying one or more deposit patternsaccording to block 308 of FIG. 3 will now be described with respect tothe example flow diagram of FIG. 5. It will be appreciated that the flowdiagram of FIG. 5 is provided by way of example only, and that manyvariations of FIG. 5 are available in accordance with other exampleembodiments of the invention.

In block 502 o FIG. 5, a plurality of template patterns may begenerated, retrieved, or otherwise received by the deposit predictionmodule 123. As an example, the template patterns may include weeklytemplate patterns, bi-weekly template patterns, semi-monthly templatepatterns, quarterly template patterns, and the like. Further, thetemplate patterns may start on given days of the week, days of themonth, or certain number of days from the end of a month or another dayduring the month. For example, the weekly template patterns may include5 respective template patterns, where each respective weekly templatepattern starts on a respective day from Monday-Friday. Other weeklytemplate patterns may include a Saturday weekly template pattern and aSunday weekly template pattern. Similarly, the other template patterns,including the bi-weekly template patterns, semi-monthly templatepatterns, and quarterly template patterns may each comprise one or moretemplate patterns having different start days (e.g., on a different dayof a week, month, etc.). Still referring to block 502, the depositprediction module 123 may adjust the template patterns based upon knownweekend and/or holidays. As an example, an expected date of deposit in atemplate pattern that falls on a weekend or holiday may be moved eitherforward or backward to a valid processing day.

In block 504, a template pattern from the plurality of template patternsis selected by the deposit prediction module 123. In an exampleembodiment of the invention, the deposit prediction module 123 mayprioritize the plurality of templates from most-frequent intervals(e.g., weekly template patterns) to least-frequent intervals (e.g.,monthly template patterns). However, other prioritizations may beutilized for the plurality of template patterns as well, including fromleast-frequent intervals to most-frequent intervals. The depositprediction module 123 may select one of the template patterns, perhaps atemplate pattern with the most frequent intervals (e.g., weekly templatepattern).

In block 506, the deposit prediction module 123 may apply the selectedtemplate pattern to the deposit information, which may includeelectronic deposit information comprising deposit dates and respectivecounts/amounts. Example representations of electronic depositinformation are shown in Table I above and in the diagram of FIG. 6A.

In block 508, the deposit prediction module 123 may determine whetherthe selected template pattern matches at least a portion of the depositinformation. In particular, the deposit prediction module 123 mayutilize one or more parameters 222 to determine whether there is a matchwith the selected template pattern. As an example, a parameter 222 suchas Maximum_Tolerance_Days may indicate a maximum allowed distance orinterval between a scheduled/adjusted deposit date according to thetemplate pattern and an actual deposit date according to the depositinformation. Another parameter 222 such as Minimum_Number_Deposit_DaysCovered may indicate a minimum number of scheduled deposit dates (oradjusted deposit dates) that must cover an actual deposit date for theset of those dates to be considered a pattern that matches the selectedtemplate pattern. Similarly, a parameter 222 such asAllow_Missed_Last_Deposit? may indicate whether a pattern can end with amissed deposit and still be regarded as matching the selected templatepattern. It will be appreciated that other parameters 222 may likewisebe utilized by the deposit prediction module 123 without departing fromexample embodiments of the invention.

If block 508 determines that the selected template pattern matches atleast a portion of the deposit information, then processing may proceedto block 510. In block 510, the deposit prediction module 123 may recordor otherwise store at least an identification of the matching templatepattern. In addition, the deposit prediction module 123 may also storeinformation about non-ambiguous deposits. For example, referring to FIG.6A, a selected weekly pattern may match non-ambiguously to deposits onthe following dates where there is only a single count: 8/1, 8/8, 8/15,8/22, 9/5, 9/12, 9/19, 9/26. Based upon the non-ambiguous deposits, thedeposit prediction module 123 may perform one or more calculations,including determining an average or mean amount of the non-ambiguousdeposits, which may be stored or recorded in conjunction with theidentified matching template pattern.

Following block 510, processing may proceed to block 512. In block 512,the deposit prediction module 123 may reduce the counts in the depositinformation for deposits that match the selected template pattern. Inparticular, non-ambiguous deposits having only a single count may beeliminated from the deposit information. With respect to ambiguousdeposits where the respective counts are greater than 1, the respectivecounts in the deposit information may be reduced by 1. Further, theaggregate amount associated with each ambiguous deposit in the depositinformation may be reduced by an amount that may be determined basedupon an average, mean, median, or mode amount of the non-ambiguousdeposits. For example, in FIG. 6A, the mean amount of the non-ambiguousdeposits (8/1, 8/8, 8/15, 8/22, 9/5, 9/12, 9/19, 9/26) is $600.Accordingly, in FIG. 6B, the aggregate amount of each ambiguous depositin the deposit information has been reduced by the mean amount of $600determined for the non-ambiguous deposits. Likewise, as shown in FIG.6B, the counts for the ambiguous deposits on 8/29 and 9/26 in FIG. 6Ahave been reduced from 2 to 1.

Block 514 is reached following block 512 or if there is no match inblock 508. Block 514 may determine whether the deposit information, asmodified according to any matching template patterns, includes anyremaining deposits that have not been accounted for. For example, FIGS.6B illustrates remaining counts on 8/29 and 9/26 that represent depositsthat have not been accounted for. If block 514 determines that there areany remaining deposits that have not been accounted for, then processingmay return to block 504 in which a next template pattern is selected.The deposit prediction module 123 may then repeat the process until alldeposits have been accounted for, or until all templates have beenattempted without accounting for all of the deposits.

It will be appreciated that the process of FIG. 5 may be performed anumber of instances by the deposit prediction module 123 in order todetermine a plurality of candidate sets of matching templates, accordingto an example embodiment. For example, by utilizing the process of FIG.5 multiple times, the deposit prediction module 123 may determine apossible first candidate set using a weekly template pattern and apossible second candidate set using a combination of a bi-weekly (odd)template pattern and a bi-weekly (even) template pattern. The depositprediction module 123 may then calculate an error (e.g., a standarderror, root mean square error, etc.) for each candidate set to selectthe candidate set that minimizes the error.

B. Monte Carlo Analysis

FIG. 7 illustrates a block diagram of an example deposit predictionprocess based upon Monte Carlo analysis, according to an exampleembodiment of the invention. The operation of the block diagram of FIG.7 will be discussed in conjunction with the flow diagram of FIG. 8.

Turning now to block 802 of FIG. 8, a deposit information module 113 mayaccess or receive deposit information for at least one customer,including demand deposit account (DDA) information for the at least onecustomer. According to an example embodiment of the invention, thedeposit information may be accessed or received from database 119 ormemory 112. In block 804, the deposit information module 113 may filteror otherwise process the received deposit information to obtain at leastnon-electronic deposit information for the at least one customer. Asdescribed herein, non-electronic deposits may include ATM orteller-initiated deposits in the form of paper instruments such aschecks or currencies such as cash. Likewise, the deposit informationmodule 113 may filter the deposit information to obtain non-electronicdeposit information that falls within one or more date parameters—forexample, based upon one or more date ranges (e.g., within the last 3months, 6 months, 12 months, or between 2 dates) or statement periods.

In block 806, the deposit information module 113 associated withfinancial institution computer 110 or another computer may deliver atleast the non-electronic deposit information 702 for at least onecustomer to the deposit prediction module 123 of service providercomputer 120 or another computer. Where the deposit information module113 and deposit prediction module deposit prediction module 123 areprovided for in the same computer, the delivery of the non-electronicdeposit information 702 may be an internal delivery. Otherwise, thedelivery of the non-electronic deposit information 702 may be deliveredto the deposit prediction module 123 via a network such as network 140.In an example embodiment of the invention, the deposit information 702may be provided in a file format (e.g., CSV file, tab separated file,etc.), a database format, or any other format.

Table II illustrates example non-electronic deposit information 702 foran example customer that may be delivered from the deposit informationmodule 113 to the deposit prediction module 123. As shown in Table II,the deposit information 702 may include a Date field, an Amount field,and a Count field.

TABLE II Date Amount 01-22-YYYY $800.00 02-12-YYYY $100.00 03-11-YYYY$100.00 03-25-YYYY $1400.00  04-22-YYYY $3200.00  05-13-YYYY $100.0006-24-YYYY $1100.00 

According to an example embodiment of the invention, the depositinformation 702 may include an aggregate of all non-electronic depositsmade on a particular date. For example, referring to Table II, thedeposit on 03-25-YYYY may actually represent a plurality of checks thatwere deposited at a Teller or ATM. In addition, the deposit information702 may exclude the payor name or other identification associated withthe payor for each deposit in the deposit information 702. As anexample, the deposit information 702 may exclude the payor name in orderto protect the privacy of its customers or to otherwise simplify theamount or type of deposit information delivered to the depositprediction module 123. However, it will be appreciated that in otherexample embodiments of the invention, the payor name or identificationmay be available as well.

In block 808, the deposit prediction module 123 may utilize Monte Carloanalysis to identify the largest expected total dollar or monetaryamount that can, with a given statistical confidence, be expected to bedeposited within a given interval or date range, according to an exampleembodiment of the invention. It will be appreciated that the largestexpected total dollar or monetary amount does not preclude actual totaldollar or monetary amounts that exceed the largest expected total dollaror monetary amount. In general, Monte Carlo analysis may use historicaldistributions in gaps between deposits and amounts to determineprobabilities with which future deposits are likely to occur.

Still referring to block 808, the deposit prediction module 123 mayperform the Monte Carlo analysis in accordance with one or more triggers720 and/or one or more parameters 722. The one or more triggers 720 maybe operative to determine when the deposit prediction module 123initiates, directs, or performs the Monte Carlo analysis. The one ormore parameters 722 may determine how the Monte Carlo analysis operates.The one or more triggers 720 and parameters 722 may be set or specifiedby a service provider, financial institution, financial servicescompany, or another similar entity.

The triggers 720 may determine when or a frequency with which thedeposit prediction module 123 performs the Monte Carlo analysis. Forexample, a trigger 720 may be based upon an event such as the receipt ofthe deposit information 702 from the deposit information module 113 ofthe financial institution computer 110. Another trigger 720 may be aspecific request received from a financial institution, serviceprovider, financial service company, or other similar entity. Yetanother trigger 720 may specify that the deposit prediction module 123performs the Monte Carlo analysis on a periodic basis, perhaps nightlyon weekday nights, according to an example embodiment of the invention.Other variations of triggers 720 are available in accordance withexample embodiments of the invention.

The parameters 722 may determine how Monte Carlo analysis is performedby the deposit prediction module 123. Examples of the parameters 722 mayinclude:

-   -   Max_Number_Iterations: A maximum number of iterations of the        Monte Carlo analysis to run for a given account. In an example        embodiment of the invention, the Max_Number_Iterations can be        used to halt the Monte Carlo analysis if convergence does not        occur by the Max_Number_Iterations.    -   Simulation_Period: The duration (e.g., in days) of the period        for which deposits are being simulated. It will be appreciated        that too long a period may result in highly speculative results        or excessive computer processing.    -   Confidence_Level: The desired statistical confidence level to be        utilized with the deposit prediction in accordance with the        Monte Carlo analysis. An example Confidence_Level may be 90% or        0.90.    -   Outlier_Multiplier: When the largest deposit amount is        Outlier_Tolerance times as big as the next largest amount, it        may be filtered out as an outlier.    -   Max_Allowed_Gap: Any series of deposits preceding a gap in days        greater than or equal to Max_Allowed_Gap may be filtered out of        the data.    -   Min_Weekly_Amount: Accounts having respective deposit        information (i.e., case histories) in which the average weekly        deposit is less than Min_Weekly_Amount may be dropped from        consideration by the Monte Carlo analysis.    -   Min_Total_Amount: Accounts having respective deposit information        where the total deposit amount is less than Min_Total_Amount may        be dropped from consideration by the Monte Carlo analysis.    -   Min_Case_History_Length: Accounts have respective deposit        information for a time period (e.g., in days) less than        Min_Case_History_Length may be dropped from consideration by the        Monte Carlo analysis.    -   Min_Deposits_Per_Month: Accounts having respective deposit        information that average fewer than Min_Deposits_Per_Month may        be dropped from consideration by the Monte Carlo analysis.    -   Max_Deposits_Per_Month: Accounts having respective deposit        information that average greater than Max_Deposits_Per_Month may        be dropped from consideration by the Monte Carlo analysis.    -   Filter_Sequence: An ordering in which the filtering and/or        dropping criteria are evaluated or applied. It will be        appreciated that depending on the order in which the parameters        are evaluated, different accounts might survive or be dropped        for consideration, and a surviving account might have deposit        information containing a different set of deposits.

Once the deposit prediction module 123 has identified (or notidentified) the largest expected total dollar or monetary amount thatcan, with a given statistical confidence, be expected to be depositedwithin a given interval or date range, then processing may proceed toblock 810. In block 810, the deposit prediction module 123 may generatedeposit prediction information 704. The generated deposit predictioninformation 704 may identify or otherwise indicate the determinedlargest dollar or monetary amount, the date by which the largest dollaror monetary amount can be expected, and any statistical confidencelevels that the foregoing may be subject to. Alternatively, the depositprediction information 704 may indicate that the Monte Carlo analysiscould not make a determination of the largest expected total dollar ormonetary amount that can, with a given statistical confidence, beexpected to be deposited within a given interval or date range.

In block 812, the generated deposit prediction information 704 may bedelivered from the deposit prediction module 123 of the service providercomputer 120 or another computer to the financial application module 133of the financial services computer 130 or another computer. Where thedeposit prediction module 123 and the financial application module 133are provided for in the same computer, the delivery of the depositprediction information 704 may be an internal delivery. Otherwise, thedelivery of the deposit prediction information 704 may be delivered tothe financial application module 133 via a network such as network 140.The financial application module 133 may set/determine parameters for orotherwise provide, initiate, direct, or offer one or more services basedupon the deposit prediction information 704. According to an exampleembodiment of the invention, the services may include or be associatedwith one or more of:

-   -   Determining when to re-present returned deposit item (e.g.,        checks) to a financial institution.    -   Determining capacity to repay;    -   Setting an account overdraft limit;    -   Determining loan or line of credit eligibility;    -   Determining loan or line of credit amount;    -   Setting customized disclosure terms for loans or lines of credit        (e.g., payment due dates for loans or lines of credit);    -   Determining when to step down or shut down loans or lines of        credit;    -   Optimizing collection effort timing: When best, relative to an        upcoming or just received deposit, to contact a customer and        pursue various types of collection efforts;    -   Determining likelihood of charge-off of a loan or line of        credit;    -   Setting loan repayment terms on past-due accounts.

An example process for an example Monte Carlo analysis according toblock 808 of FIG. 8 will now be described with respect to the exampleflow diagram of FIG. 9. It will be appreciated that the flow diagram ofFIG. 9 is provided by way of example only, and that many variations ofFIG. 9 are available in accordance with other example embodiments of theinvention. It will be also appreciated that the process illustrated inFIG. 9 is only for a single iteration of the Monte Carlo analysis, andthat many iterations may be necessary to determine the largest expectedtotal dollar or monetary amount that can, with a given statisticalconfidence, be expected to be deposited within a given interval or daterange. For example, the Monte Carlo analysis may be used to answer thequestion: “What is the largest total amount we expect to be deposited tothe account during period (T_(min), T_(max)) with a particularconfidence level (e.g., perhaps set by the parameter Confidence Level(e.g., 0.90))?”

In block 902 of FIG. 9, the deposit prediction module 123 may set orinitialize a plurality of variables. For example, the deposit predictionmodule 123 may set or initialize the following variables:

-   -   N=a number of deposits,    -   S_(i)=an amount of the i-th deposit,    -   T_(i)=date of the i-th deposit,    -   M_(i)=T_(i)−T_(i-1), which represents the interval (in days)        between the (i-1)-th deposit and the i-th deposit, and    -   T_(end)=the last date of the account history, where T_(end) is        greater than or equal to T_(N),    -   T_(max)=a stop date for the target date range,    -   T_(min)=a start date for the target date range,    -   j=0.

In block 904, the deposit prediction module 123 may find the date of thenext deposit after date T_(N). To do this, the deposit prediction module123 may select a random number k uniformly distributed on {2, . . . ,N}. The date of the next deposit may be designated as dateT_(N+j+1)=T_(N+j)+M_(k). In block 906, if date T_(N+1) is less or equalto date T_(min), then Counter j may be incremented in block 907, anddate T_(N+1) may be chosen again in block 904, according to an exampleembodiment of the invention.

Following block 906, processing may proceed to block 908. In block 908,the deposit prediction module 123 may determine whether T_(N+j+1) isless than T_(max) such that T_(N+j+1) falls within the date range orperiod (T_(min), T_(max)). If so, then processing may proceed to block910. In block 910, an amount of deposit on T_(N+1) may be determined bychoosing randomly with the uniform distribution from {S_(1, . . . , S)_(N)}. The completion of block 910 may complete a first iteration of theMonte Carlo analysis.

For a particular iteration of the Monte Carlo analysis, blocks 904-910may be repeated to obtain a distribution function of the expectedlargest amount deposited during the period or date range or period(T_(min), T_(max)). For example, a second iteration may proceed todetermine the date and amount of the (N+2)-th deposit. The process forthe particular iteration may be terminated when the date of the currentdeposit becomes greater than the date T_(max).

It will be appreciated that the Monte Carlo analysis may be repeated anumber of iterations until a distribution function of the expectedlargest total amount deposited during the date range or period (T_(min),T_(max)) is obtained within a desired confidence level. It will beappreciated that in some instances, there may be no convergence to anexpected largest total amount deposited during the date range or period(T_(min), T_(max)) for a desired confidence level.

FIG. 10 illustrates a graphical representation illustrating an examplesingle Monte Carlo iteration according to an example embodiment of theinvention. As shown by 1002, a random amount and interval may be chosenfrom the available deposit information, extending the deposit streaminto the future, although not yet within target date range {T_(min), . .. , T_(max)}. In 1004, a second random amount and interval may be chosenfrom the available deposit information, extending the deposit streamfurther into the future, although again not yet within target date range{T_(min), . . , T_(max)}. In 1006, the deposit stream eventually extendsinto the target date range {T_(min), . . . , T_(max)}. In 1008, thedeposit stream extends further into the target date range

{T_(min), . . . , T_(max)}. In 1010, the deposit stream extends yetfurther into the target date range {T_(min), . . . , T_(max)}. In 1012,the deposit stream finally extends beyond the target date range{T_(min), . . . , T_(max)}. A distribution 1014 of the amounts depositedduring period (T_(min), T_(max)) is then obtained, for a confidencelevel, according to an example embodiment of the invention.

FIG. 11 illustrates a graphical representation illustrating a pluralityof distributions 1102 a-n of expected amounts deposited during thetarget date range corresponding to a respective plurality of Monte Carloiterations a-n, according to an example embodiment of the invention. Itwill be appreciated that the number of Monte Carlo iterations that areperformed may be a predetermined number. Alternatively, the Monte Carloiterations can continue until statistical measures (e.g., standarderror, standard deviation, etc.) indicate that the results (e.g., adistribution function based upon the aggregate of the distributions 1102a-n) accumulated so far as stable and unlikely to change with furtheriterations. Indeed, the Monte Carlo analysis may be repeated a number ofiterations until the current distribution function results in theidentification of in a largest monetary amount that can, within a givenor predetermined confidence level, be expected on or before a givendate. For example, each iteration of the Monte Carlo analysis mayfurther refine a distribution function associated with a statisticalmeasure such a standard error until the largest monetary amount isdetermined with a desired standard error.

The invention is described above with reference to block and flowdiagrams of systems, methods, apparatuses, and/or computer programproducts according to example embodiments of the invention. It will beunderstood that one or more blocks of the block diagrams and flowdiagrams, and combinations of blocks in the block diagrams and flowdiagrams, respectively, can be implemented by computer-executableprogram instructions. Likewise, some blocks of the block diagrams andflow diagrams may not necessarily need to be performed in the orderpresented, or may not necessarily need to be performed at all, accordingto some embodiments of the invention.

In certain embodiments, performing the specified functions, elements orsteps can transform an article into another state or thing. Forinstance, example embodiments of the invention can provide certainsystems and methods that transform deposit information representative ofactual historical deposits into an account into a deposit predictioninformation representative of a next deposit and/or amount.

These computer-executable program instructions may be loaded onto ageneral purpose computer, a special-purpose computer, a processor, orother programmable data processing apparatus to produce a particularmachine, such that the instructions that execute on the computer,processor, or other programmable data processing apparatus create meansfor implementing one or more functions specified in the flowchart blockor blocks. These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meansthat implement one or more functions specified in the flow diagram blockor blocks. As an example, embodiments of the invention may provide for acomputer program product, comprising a computer usable medium having acomputer readable program code or program instructions embodied therein,said computer readable program code adapted to be executed to implementone or more functions specified in the flow diagram block or blocks. Thecomputer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational elements or steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide elements or steps for implementing the functionsspecified in the flow diagram block or blocks.

Accordingly, blocks of the block diagrams and flow diagrams supportcombinations of means for performing the specified functions,combinations of elements or steps for performing the specified functionsand program instruction means for performing the specified functions. Itwill also be understood that each block of the block diagrams and flowdiagrams, and combinations of blocks in the block diagrams and flowdiagrams, can be implemented by special-purpose, hardware-based computersystems that perform the specified functions, elements or steps, orcombinations of special purpose hardware and computer instructions.

Many modifications and other embodiments of the invention will come tomind to one skilled in the art to which this invention pertains andhaving the benefit of the teachings presented in the foregoingdescriptions and the associated drawings. Therefore, it is to beunderstood that the invention is not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

That which is claimed:
 1. A financial system, comprising: at least onememory that stores computer-executable instructions; and at least oneprocessor configured to access the at least one memory, wherein the atleast one processor is further configured to execute thecomputer-executable instructions to: receive deposit informationassociated with a plurality of deposits for a deposit account of afinancial institution customer, wherein the deposit informationincludes: (i) a respective deposit amount corresponding to each of theplurality of deposits, and (ii) a respective date corresponding to eachof the plurality of deposits; identify, based upon the received depositinformation, one or more deposit patterns for the deposit account of thefinancial institution customer by applying one or more predefinedtemplate patterns to the deposit information and determining that one ormore of the applied predefined template patterns match at least aportion of the deposit information; generate an indication of theidentified one or more deposit patterns; determine, based at least inpart on the indication of the identified one or more deposit patterns,at least one of: (i) an indication of a predicted future deposit; (ii)an amount associated with the predicted future deposit; or (iii) a dateassociated with the predicted future deposit; and transmit, to afinancial application module, the at least one of: (i) an indication ofa predicted future deposit; (ii) an amount associated with the predictedfuture deposit; or (iii) a date associated with the predicted futuredeposit.
 2. The financial system of claim 1, wherein the at least oneprocessor is further configured to execute the computer-executableinstructions to provide, based at least in part on the indication of theidentified one or more deposit patterns, one or more services associatedwith the financial institution customer.
 3. The financial system ofclaim 2, wherein the one or more services are associated with at leastone of: (i) approving a loan or a credit line for the financialinstitution customer; (ii) increasing or reducing an amount of the loanor the credit line for the financial institution customer, (iii)determining a due date or a payment schedule for the loan or the creditline for the financial institution customer; or (iv) determining when tocontact the financial institution customer for collections or anoffering.
 4. The financial system of claim 1, wherein the depositinformation further specifies a respective count for each of theplurality of deposits, wherein the respective count indicates a numberof transactions received on the respective date, and wherein the atleast one processor is configured to apply the one or more predefinedtemplate patterns by: determining that a first template pattern of theone or more applied predefined template patterns matches at least aportion of the deposit information; modifying the deposit information byreducing the respective count for each deposit amount matched by thefirst template pattern; and determining that a second template patternof the one or more applied predefined template patterns matches the atleast a portion of the modified deposit information.
 5. The financialsystem of claim 1, wherein prior to applying one or more predefinedtemplate patterns, the at least one processor is further configured toadjust the one or more predefined template patterns based upon one orboth of weekend or holiday dates.
 6. The financial system of claim 1,wherein the one or more predefined template patterns comprise one ormore quarterly template patterns, monthly template patterns,semi-monthly template patterns, bi-weekly template patterns, or weeklytemplate patterns.
 7. The financial system of claim 6, wherein the oneor more weekly template patterns comprise a plurality of weekly templatepatterns, wherein each of the weekly template patterns begins on arespective day of a week.
 8. The financial system of claim 1, whereinthe one or more predefined template patterns are applied according toone or more parameters, wherein the parameters are associated with oneor more of: (i) a maximum allowable interval between a scheduled depositdate in a particular one of the one or more predefined template patternand an actual deposit date; or (ii) a minimum number of scheduleddeposit dates in a particular one of the one or more predefined templatepattern that must correspond to an actual deposit date in order for theparticular one of the one or more predefined template pattern to beconsidered a matching predefined template pattern.
 9. The financialsystem of claim 1, wherein a predefined template pattern is determinedto match based upon a predetermined number of expected deposits in thepredefined template pattern corresponding to actual deposits in at leasta portion of the deposit information.
 10. The financial system of claim1, wherein the financial system and the financial application module are(i) associated with a same entity, or (ii) are a same computer.
 11. Amethod, comprising: receiving, by a financial system comprising one ormore computers, deposit information associated with a plurality ofdeposits for a deposit account of a financial institution customer,wherein the deposit information includes: (i) a respective depositamount corresponding to each of the plurality of deposits, and (ii) arespective date corresponding to each of the plurality of deposits;identifying, by the financial system, based upon the received depositinformation, one or more deposit patterns for the deposit account of thefinancial institution customer by applying one or more predefinedtemplate patterns to the deposit information and determining that one ormore of the applied predefined template patterns match at least aportion of the deposit information; generating, by the financial system,an indication of the identified one or more deposit patterns;determining, by the financial system and based at least in part on theindication of the identified one or more deposit patterns, at least oneof: (i) an indication of a predicted future deposit; (ii) an amountassociated with the predicted future deposit; or (iii) a date associatedwith the predicted future deposit; and transmitting, by the financialsystem to a financial application module, the at least one of: (i) anindication of a predicted future deposit; (ii) an amount associated withthe predicted future deposit; or (iii) a date associated with thepredicted future deposit.
 12. The method of claim 11, further comprisingproviding, by the financial system and based at least in part on theindication of the identified one or more deposit patterns, one or moreservices associated with the financial institution customer.
 13. Themethod of claim 12, wherein the one or more services are associated withat least one of: (i) approving a loan or a credit line for the financialinstitution customer; (ii) increasing or reducing an amount of the loanor the credit line for the financial institution customer, (iii)determining a due date or a payment schedule for the loan or the creditline for the financial institution customer; or (iv) determining when tocontact the financial institution customer for collections or anoffering.
 14. The method of claim 12, wherein the one or more servicesare provided to the financial institution customer by at least one of:(i) the financial system, (ii) the financial application module, or(iii) a financial institution.
 15. The method of claim 11, wherein thedeposit information further specifies a respective count for each of theplurality of deposits, wherein the respective count indicates a numberof transactions received on the respective date, and wherein applyingone or more predefined template patterns comprises: determining that afirst template pattern of the one or more applied predefined templatepatterns matches at least a portion of the deposit information;modifying the deposit information by reducing the respective count foreach deposit amount matched by the first template pattern; anddetermining that a second template pattern of the one or more appliedpredefined template patterns matches the at least a portion of themodified deposit information, wherein the prior steps are performed byone or more computers associated with a service provider.
 16. The methodof claim 11, wherein prior to applying one or more predefined templatepatterns, the one or more predefined template patterns are adjustedbased upon one or both of weekend or holiday dates.
 17. The method ofclaim 11, wherein the one or more predefined template patterns compriseone or more quarterly template patterns, monthly template patterns,semi-monthly template patterns, bi-weekly template patterns, or weeklytemplate patterns.
 18. The method of claim 11, wherein the one or morepredefined template patterns are applied according to one or moreparameters, wherein the parameters are associated with one or more of:(i) a maximum allowable interval between a scheduled deposit date in aparticular one of the one or more predefined template pattern and anactual deposit date; or (ii) a minimum number of scheduled deposit datesin a particular one of the one or more predefined template pattern thatmust correspond to an actual deposit date in order for the particularone of the one or more predefined template pattern to be considered amatching predefined template pattern.
 19. The method of claim 11,wherein the deposit information is received from a financial institutioncomputer.
 20. The method of claim 14, wherein the financial institutioncomputer and the financial system are (i) associated with a same entity,or (ii) are a same computer.